<?php

require 'config.php';
require CAMINHO_SERVIDOR.'funcoes.php';
require 'dao/jogoDAO.class.php';

if (isset($_GET['id_campeonato']) && intval($_GET['id_campeonato']) && isset($_GET['id_usuario']) && intval($_GET['id_usuario'])) {

    /* soak in the passed variable or set our own */
    $number_of_posts = isset($_GET['num']) ? intval($_GET['num']) : 10; //10 is the default
    $format = strtolower($_GET['format']) == 'json' ? 'json' : 'xml'; //xml is the default
    $id_campeonato = $_GET['id_campeonato'];
    $id_usuario = $_GET['id_usuario'];
    $pagina = (isset($_GET['pag'])) ? $_GET['pag'] : 1;
    $daoJogo = new jogoDAO();
    //TRATANDO RODADAS
    $rodadas = $daoJogo->getRodadasByCampeonatosJogosConcluidosProcessados($id_campeonato,COMANDO_HORA_ATUAL, COMANDO_DATA_ATUAL);
    $totalRodadas = count($rodadas);
    $rodada = (isset($_GET['rodada'])) ? $_GET['rodada'] : $totalRodadas;
    $auxTotalRod = $totalRodadas - 1;
    if ($_GET['inicial'] === "1") {
        $rodada = ($auxTotalRod >= 0) ? $auxTotalRod : 0;
    }
    $rodadaAtual = ($rodada > $totalRodadas) ? ($auxTotalRod >= 0) ? $auxTotalRod : 0  : $rodada;
    $proxRodada = (($rodadaAtual + 1) >= $totalRodadas) ? "x" : $rodadaAtual + 1;
    $antRodada = (($rodadaAtual - 1) < 0) ? "x" : $rodadaAtual - 1;
    if ($totalRodadas <= 0) {
        $descricaoRodada = "Rodadas/Grupos";
        $idRodada = 0;
    } else {
        $idRodada = $rodadas[$rodadaAtual]['id_rodada'];
        $descricaoRodada = $daoJogo->getDescricaoRodadaById($idRodada);
    }
    //##################################################################

    $registros = LIMITE_REGISTROS_PAGINA;
    $total = $daoJogo->getCountApostas($id_usuario, $id_campeonato, COMANDO_HORA_ATUAL, COMANDO_DATA_ATUAL, $idRodada);
    $numPaginas = ceil($total / $registros);
    $inicio = ($registros * $pagina) - $registros;


    $posts = $daoJogo->getApostas($id_usuario, $id_campeonato, COMANDO_HORA_ATUAL, COMANDO_DATA_ATUAL, $idRodada, true, $inicio, $registros);
    if (isset($_GET['isamigo']) && $_GET['isamigo'] === "1") {
        $dadosCount[] = $daoJogo->getDadosAmigoCountPontosByUsuarioByCampeonato($id_usuario, $id_campeonato);
    } else {
        $dadosCount[] = $daoJogo->getCountPontosByUsuarioByCampeonato($id_usuario, $id_campeonato);
    }
    if (empty($msg)) {
        $msg[] = array('msg' => "");
    }
    if (empty($dadosCount)) {
        $dadosCount[] = array('id_user_facebook' => "", 'nome' => "");
    }
    $dadosRodada[] = array('anterior' => $antRodada, 'atual' => $rodadaAtual, 'proximo' => $proxRodada, 'desc' => $descricaoRodada);
    $pag[] = array('pag' => $pagina, 'numPag' => $numPaginas);
    /* output in necessary format */
    if ($format == 'json') {
        header('Content-type: application/json');
        echo json_encode(array('posts' => $posts, 'msgs' => $msg, 'dados' => $dadosCount, 'pags' => $pag, 'rodadas' => $dadosRodada));
    } else {
        header('Content-type: text/xml');
        echo '<posts>';
        foreach ($posts as $index => $post) {
            if (is_array($post)) {
                foreach ($post as $key => $value) {
                    echo '<', $key, '>';
                    if (is_array($value)) {
                        foreach ($value as $tag => $val) {
                            echo '<', $tag, '>', htmlentities($val), '</', $tag, '>';
                        }
                    }
                    echo '</', $key, '>';
                }
            }
        }
        echo '</posts>';
    }

    /* disconnect from the db */
    $daoJogo->fecharConexao();
}
?>